Spring Web Services 2.0: Best Java Stack for SOAP-based Web Services A major version of the Spring Web service project Spring WS 2.0 recently was released after a year in development. This version requires that your project use Java 5 or above and Spring 3.0 or above, but the upgrade (if necessary) is well worth it because Spring WS 2.0 delivers a lot of goodies for Java developers. New features include: An improved, more flexible @Endpoint programming modelA new integration testing framework for both server-side and client-side testingJava 5 APIs (generics, varargs), and more For developers who are not familiar with Spring WS, it is a Spring portfolio project that lets you build Spring-based, document-oriented SOAP Web services. I have been experimenting with Spring WS 2.0 during the past several days . Using a Maven archetype, it is very easy to create a new Spring WS project. This command will create a Maven2-based Spring WS project with all the required configurations. Page 1 of 2
» Advanced Apache Camel logging and best practices Middleware Warez Apache Camel supports a mapped diagnostic context which can be used to improve log entries, but also there is a log component which makes it easier to create log entries. Together they can be used to create foundations of activity monitoring without need to deploy another tool or database. Logging anti patterns First of all let’s go throught logging anti patterns described years ago by Gojko Adzic. Single log file for all peopleLack of hierarchy in log categories (that’s mine idea)Incomplete data in entries (covers also one information split to multiple entries)Different separators in single lineInconsistent log entry format (covers also inconsistent log entry format)Multi-line entriesPopulating log after the action Let describe comon mistakes we can do with Camel and how these anti patterns can look in our case. Single log file As usual log file can be used by different people for diagnostic – eg. database administrators are not interested in all java stuff we do. Multi-line entries
The Artima Developer Community JBoss Fuse - Overview JBoss Fuse is an open source, lightweight and modular integration platform with a new-style Enterprise Service Bus (ESB) that supports integration beyond the data center. The capability to connect all enterprise assets and the ability to deploy JBoss Fuse in several different configurations advances intelligent integration to all facets of your business – on premise or in the Cloud. JBoss Fuse for xPaaS extends the integration capabilities to OpenShift Platform-as-a-Service (PaaS) solution. Pattern based Integration framework Leverage Apache Camel to provide a full-featured, easy-to-use and intuitive framework for quicker integration solutions. Dynamic configuration and management Change configuration while container is running. Multiple connectivity options Connect to external applications with connectors for JDBC, FTP/SFTP, HTTP/HTTPS, file, SalesForce.com, SAP, Twitter, and more. Fabric Management Console is based on the hawtio web console. New Features Try the exciting new features: Buzz
Spring WS 2.0: New Integration Test Support Spring WS 2.0 introduced a new integration testing module, spring-ws-test, which provides a fluent API for testing both the client- and server-side of Web service. In my previous article on Spring WS 2.0 and SOAP-based Web services , I explored some of the new features introduced in the 2.0 release. In this installment, I'll dive into spring-ws-test. In the previous article, we exposed a SOAP Web service endpoint (using @Endpoint annotation) on the server, but we did not write the client side. Spring WS provides a lightweight alternative that does not need a WSDL contract to work. Spring WS provides a class called WebServiceTemplate that developers can use to perform common operations. WebServiceTemplate provides methods for sending and receiving XML messages (sendAndReceive()) or request and response objects (marshalSendAndReceive()). In this article, I use JAXB2 for marshalling and unmarhalling. import java.math.BigInteger; public class Client { WebServiceTemplate webServiceTemplate; <?
Writing large Files line by line with Apache Camel For a transformation with Smooks we had to parse the incoming EDI files line per line, to create a valid EDI source. For this we wrote a simple route like this: This route reads a file, splits it into line chuncks, each line will be parsed and finally the modified line will be added to a file in the destination folder. Really simple and it does what it was build for… But that approach is really slow. For each line we have a single write operation. Per line writes are really slow We have files with more that 5 million lines – so at a average of 170 to 200 messages per second we would need nearly 7 hours to parse one file! We added two lines. The result is stunning. line parsing with aggregation This is twenty times faster! And voilà.
Core J2EE Patterns: J2EE Patterns, Refactorings, Best Practices and Design Strategies Apache CXF -- Index Concursive Corporation Une première approche du Camel d’Apache | CarmaBlog English version available Raphaël Delaporte (@rafdelaporte) nous a proposé de dompter un chameau cette semaine au JUG Nantes. Et ne vous fiez pas à cette photo ! Apache Camel s’appuie et reprend les Entreprise Integration Patterns – EIP (à ne pas confondre avec les Design Patterns qui sont utilisés pour la conception objet). Les patterns EIP Voici les principaux patterns du plus simple au plus complexe (extrait de la présentation). Entreprise Integration Patterns En les combinant, les possibilités sont quasi-infinies. Un livre complet sur le sujet existe « Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions ». Faire des EIP avec Apache Camel Pour mettre en oeuvre les EIP, on trouve trois éléments de base dans Camel : RouteProcessorEndpoint (dans la littérature française, le terme est parfois traduit par « point d’extrémité ») Une route est conceptualisée de la manière suivante : la liaison de deux endpoints par un processor. Voici un exemple de route :
JavaNCSS - A Source Measurement Suite for Java