ABIS Infor - all issues
Here you find all issues of our newsletter:
- Clean Exception Handling in Spring Boot APIs - Sandy Schillebeeckx (ABIS) - 11 January 2022
Like in any other program, good exception handling is key when writing APIs. In this case, you don't only want to create readable code for the developers. It should also be clear for the users of the API what to expect when something is going wrong. In this article, we will focus on both aspects, using Spring Boot as the Java API framework.
- 1970 - 2020: 50 years since the "Unix Epoch" - Peter Vanroose (ABIS) - 14 January 2020
1 January 2020: an anniversary, actually a golden jubilee, for the Unix Epoch! The "era" of Unix systems indeed starts counting from 1970 onwards. Here is a sketch of the story behind this. Read the article.
- The Benefits of Virtual Classrooms - Arnout Veugelen (ABIS) - 14 December 2020
The pandemic drastically and quickly changed the way we organise training. Virtual classrooms are the norm now, and the format has some clear benefits, besides enjoying your favourite cup of home brewed coffee... Read the article.
- ABIS and AG Insurance - Training for IT Young Pro's - Kris Van Thillo (ABIS)
Since 2009, ABIS has been organizing mainframe training courses for AG Insurance Young Pros: motivated students at ABIS receive a practical IT training at the start of their career at AG Insurance. Read the article.
- The new Hadoop software stack - Peter Vanroose (ABIS)
Hadoop is an open source project that aims at providing a framework for large volume scalable & distributed data storage and computing. On top of this "base" framework, a number of additional open source products have been developed and are becoming very popular amongst Data Scientists. This set of tools is often called the "Hadoop Stack".
Since its initial release in 2006, Hadoop has been growing and evolving. And more importantly, the Hadoop Stack building blocks have drastically changed over time: some software products that were important and popular a few years ago have faded, while others entered the picture and some became so important that they currently are the real Hadoop! "front end"! Read the article.
- Fun facts about naming in IT (the sequel ...) - Sandy Schillebeeckx (ABIS)
In a previous article (ABIS Infor 2016-04), I wrote about naming in IT. Since there were a lot of positive reactions and also because I find it an interesting topic, I could not resist writing a follow-up article.
In this part I will mainly talk about product names, but also some names of IT companies will pass by. Special attention is given to (recursive) acronyms and backronems ... Read the article (in Dutch).
- Analysing the World Cycling Championships with Python - Arnout Veugelen (ABIS)
September 25 2017, Bergen, Norway: Peter Sagan writes another line of his already impressive palmares. With apparent ease, he wins the Men's Elite Road Race of the UCI World Championships, securing his third rainbow jersey in a row. According to some, it was an utterly boring race, with the only action in the last lap. According to others, it was just another illustration of the magnificent talent of Peter Sagan, and the competitors simply didn't stand any chance.
Instead of just trusting our gut feeling as irrational cycling supporters, we decided to have a look at the data, with the help of Python and some of its excellent libraries for Web Scraping and Data Analysis...
The code snippets in the article are written in Python 3. Read the article.
- Staffing at the Belgian Pension Administration - Kris Van Thillo (ABIS)
IRIS and ABIS collaborate to help the Belgian Pension Administration with a staffing problem. Re ad the article. (in Dutch).
- Deliver your application through Docker - Gie Indesteege (ABIS)
Applications are no longer monolithic chunks of code, but are decomposed into distributed services, accessed via well defined APIs. The development and deployment, but especially the runtime of each individual service requires specific infrastructure and configuration. Controlling that environment can be simplified by using Docker, a virtualised environment. Read the article.
- 30 jaar ABIS NV - Paul Veugelen (ABIS)
ABIS has been organising computer courses for professionals for over 30 years. Time for an historic overview - with photographs. Read the article (in Dutch).
- How old is a web page? - Peter Vanroose (ABIS)
When "surfing" on the internet, we often stumble upon web pages that are clearly outdated. For some other pages (for most of them, actually) it is not at once clear how up-to-date the information on the page really is. Sometimes there is an explicit timestamp (often at the bottom of the page). But maybe even that info is outdated!
How can we find out the "real" age of a certain web page? And does e.g. Google take into account the age of a page when sorting the results for our search? Read the article.
- Big Data and Analytics - ABC (part 2) - Arnout Veugelen (ABIS)
Lately, Big Data and Analytics have been particularly fashionable words in IT. New fashion comes with new terminology, and before you know it, you are at a loss for words. From now on, this will no longer be the case. Thanks to our Big Data alphabet, you will impress your boss and colleagues during meetings and coffee breaks.
In our previous edition we presented part 1 (A–K), this time we add part 2 (L-Z). Read the article.
- Where has the DB2 Connect Gateway gone? - Koen De Backer (ABIS)
What is the current state of the connection landscape for applications that have a DB2 backend as a target? What are the options, if any?
The path taken by application requests to reach the DB2 data store on z/OS for many years pivoted around the, "classic" DB2 client and the DB2 Connect gateway. These pieces of software, for DB2, bridged the gap between the "distributed" (DB2 for LUW) environment and the host (DB2 for z/OS, IBM i). The type of application ("legacy" client, web, mobile or cloud) will for sure be a criterion to decide on the connection topology. Read the article.
- Java SE 8 new features - Gie Indesteege (ABIS
After almost 20 years of Java presence in the IT world, and several new features added in subsequent versions, Java SE 8 presents a new milestone in the Java history. Although this version 8 was released already 2 years ago, a lot of current Java developers still await a good business case to upgrade, or a clear explanation of the new features like lambda expressions and streams. Read the article.
- Big Data and Analytics - ABC (part 1) - Arnout Veugelen (ABIS)
Lately, Big Data and Analytics have been particularly fashionable words in IT. New fashion comes with new terminology, and before you know it, you are at a loss for words. Thanks to our Big Data alphabet, this will no longer be the case. From now on, you will impress your boss and colleagues during meetings and coffee breaks.
In this edition we present part 1 (A–K). Read the article.
- Perl Text Analytics - Peter Vanroose (ABIS)
On the Internet, enormous amounts of (text) data can be found: undoubtedly very important and useful to do "something" with it, especially in the context of "business intelligence", if we don't want to miss anything essential. Only... the big volumes and the enormous diversity of this data make it extremely difficult to do meaningful Text Analytics. Maybe the programming language Perl offers an interesting added value in this context? Read the article.
- Fun facts about naming in IT - Sandy Schillebeeckx (ABIS)
If a baby is coming, one of the most difficult first decisions is: what are we going to call him/her? Even though it should not be, your name can affect your future. When launching a new product, the choice is possibly even more important. Some names are found immediately, but sometimes entire brainstorming sessions are organized to arrive at THE name. Although the quality of a product should naturally prevail ...
In this article I want to reflect on the origin/meaning of names (from programming languages, for example) and terms in the IT world. Fun facts to entertain your colleagues during breaks. Do you know, for example, where the term "nerd" comes from? If not, then read on ... Read the article (in Dutch).
- APIs - Ludo Van den dries (ABIS)
The term API (Application Programming Interface) has been around for ages, but since a few years it got a new and very specific meaning in software architecture, as a sequel to the SOA hype (Service-Oriented Architecture). Read the article.
- Reading the DB2 LUW Version 11.1 announcement - Koen De Backer (ABIS)
IBM announces a new version of DB2 for Linux, Unix and Windows, Version 11.1. In the announcement letter the current capabilities and scope of the DB2 LUW product are described based on typical DB2-speak. For those of you rather new to the DB2 LUW product some of this DB2 terminology might be somewhat mystifying. In this piece I'd like to concentrate on "BLU Acceleration". "BLU what?" Right ... just read on. Read the article.
- A New Home for ABIS Leuven - Arnout Veugelen (ABIS)
In November, after a 3-year stay at Diestsevest 14, ABIS Leuven moved to a new but familiar place: our old address at Diestsevest 32. The building was thoroughly renovated and got a brand new interior. Read the article.
- Free & Open Source Software - Peter Vanroose (ABIS)
Open-source software is more and more emerging, as a worthwhile and often even superior alternative for often (too) expensive commercial solutions. But sometimes there exist a few misunderstandings about what exactly is "free" and/or "open" software. A short heads-on! Read the article.
- Angular JS - Gie Indesteege (ABIS)
- Virtual Classroom: the best of both worlds? - Alan Whitfield (RSM Technology)
Over recent months RSM's Virtual Classroom Environment, delivering training over the web both in the UK and worldwide, has become increasingly popular. By looking at a couple of case studies of recent virtual course presentations this article hopes to discover the reasons why, and to share those reasons with customers who may have not considered this exciting way of accessing RSM's highly regarded instructor-led training. Read the article.
- Windows 7 and 8 search trouble - Peter Vanroose (ABIS)
Windows Explorer allows us to search the hard disk for files, based on part of the file name, or a keyword in the content of the file. Very useful and also very easy to use, but... do I actually always find what I searched for? A short excursion in the Windows search landscape! Read the article.
- Hidden data on your file system? - Peter Vanroose (ABIS)
The story goes that one can hear hidden messages when playing backward some of the Led Zeppelin or The Beatles music. Likewise, rumours go that information can be hidden in your computer files. Or are these just urban legends? Read the article.
- Spring: Bean Definition Profiles - Sandy Schillebeeckx (ABIS)
Spring 3.1 introduced so-called Bean Definition Profiles that allow for registration of different beans in different environments. One of the most common cases would be working against a standalone datasource in development phase vs looking up that same datasource from JNDI when in production. Bean definition profiles represent a general-purpose way to satisfy use cases of this kind. Read the article.
- Shortage of mainframe skills - Gie Indesteege (ABIS)
The mainframe is dead, long live the mainframe. Despite all predictions about the end of the mainframe, this dinosaur still seems to be kicking and alive, growing and even offering new present-day possibilities. But where can we find the right personnel for maintaining, managing and controlling this 'Enterprise Server' (like the new name sounds)? Where do new young people get the interest and knowledge for this yet-not-so-old-fashioned platform? Because the shortage of mainframe-skilled people will cause problems if we do not act quickly. Read the article.
- iPad in een zakelijke omgeving - Jozef Dresselaers (PowerView IT)
(only in Dutch) De iPad biedt een schat aan mogelijkheden, niet enkel voor privégebruik maar ook in een zakelijke omgeving. Het lijkt allemaal zeer eenvoudig, maar zonder een degelijke basiskennis ga je toch heel wat mislopen. Lees het artikel.
- Tools for "Big Data" - Peter Vanroose (ABIS)
Have you been collecting massive volumes of "corporate" data which are now waiting to be analysed, and did our earlier article about NoSQL trigger your appetite? In that case you probably want to get started with software for Big Data which is easy to install (and freely available). Below is already a first step in that direction, before you really take the "big" step! Read the article.
- Recursive copying in XSLT - Ludo Van den dries (ABIS)
When exchanging data in XML format (e.g. through an Enterprise Service Bus), we often use XSLT for transforming the XML data (rearrange the structure, omit & add data) to realize the required mapping between the source and target applications. By leveraging XSLT's 'odd' programming paradigm (i.e. functional programming, rather than procedural), some seemingly complex tasks can be accomplished with very little -- and generic -- coding. Read the article.
- ABIS and APG: to certify or not - Kris Van Thillo (ABIS)
ABIS interviews Robert Erdkamp (APG) on a Java certifcation training programme. Read the article.
- New Features in Java SE7 - Sandy Schillebeeckx (ABIS)
Java SE7 (codename Dolphin) is actually not that new any more. It was released on 7/7/2011, but certainly not everybody is fully using it yet.
Since Oracle announced the end of support for JDK1.6 as of February 2013, you even have less of an excuse not to adopt it. And why wouldn't you try out some of the nice new features? In this version of Java, they didn't just add interesting classes (like in NIO, JDBC, Concurrency), but they also introduced some new things in the programming language itself. Read the article.
- Free UML drawing tools - Ludo Van den dries (ABIS)
If you want to draw UML diagrams, and you don't want to spend the money, which tools could you use? Here are some options. Read the article.
- WebSphere MQ, is there any other messaging option out there? - Koen De Backer (ABIS)
Messaging is the foundation of Message-Oriented Middleware (MOM). Messaging is a confusing category, meaning there is no common source code (cfr. DCE) and there is no common set of specifications (cfr. Corba). Adding to the confusion, there are more than 18 sometimes drastically different products gathered under the umbrella of message-oriented middleware. These products encompass both message passing and message queuing technologies. The message passing products are an interesting technology, but are not the subject of this article. Read the article.
- Migration of a mainframe environment - Gie Indesteege (ABIS)
You can imagine a lot of reasons why people or companies move. ABIS took the decision to change mainframe, a.o. for economical reasons. For clarity: we speak about a migration of mainframe to mainframe! But what kinds of aspects enter into this migration of a mainframe environment? Read the article.
- MySQL: stored procedures and SQL/PSM - Peter Vanroose (ABIS)
This contribution is a brief tutorial on stored procedures in MySQL. At the same time, it's a report on our (ABIS') experiences with porting stored procedures written in SQL PL (DB2) to MySQL. To be successful, such a port requires some sort of standardised language across platforms. Hence the introductory section on the SQL/PSM standard. Read the article.
- SQL - sur son retour?! - Kris Van Thillo (ABIS)
Si à ce jour vous êtes actifs dans le domaine des données - comme utilisateur, administrateur, architecte - il est peu probable que vous n'ayez pas encore rencontré le terme 'NoSQL'. Des articles traitant BigData, les podcast sur le Cloud,... tous font assez souvent référence a ce terme. Mais qu'est-ce que c'est, le NoSQL? Lisez l'article.
- OO programming: how private are your private parts? - Ludo Van den dries (ABIS)
A surprising number of novice (or even experienced) programmers appear to misunderstand the meaning of access modifiers in mainstream OO languages such as Java, C++ and C#. Here are some reflections on public/private/protected visibility, encapsulation and the like. Read the article.
- Why do we call you? - Filip Descheemaecker (ABIS)
It is often said 'To measure is to know'. For a training centre as ABIS it is important to know our target market, and measuring in one way or another is essential to become familiar with this specific group of people. Today, this can be done in a myriad of different ways, but here at ABIS we usually do it via telephone or electronic "personal" contact. The question to ask is: which one the two approaches is better. Let us take a closer look. Read the article.
- Java configuration: Annotations vs XML - Sandy Schillebeeckx (ABIS)
The trend these days in (all of) the Java frameworks is to replace the standard XML configuration file(s) by annotations. Is this indeed for the better, or are there downsides? What are the pros and cons of both approaches? Which of both do you choose, or can they live together in harmony? That is what we will discuss in this article. Read the article.
- Object-Oriented COBOL - Peter Vanroose (ABIS)
What programming environment would be more distant from objects than COBOL? And yet the most recent COBOL standard (2002) introduced support for object-oriented syntax. Here's a brief summary of the not so well-known OO-COBOL. Read the article.
- PHP, more than a web interface - Peter Vanroose (ABIS)
PHP: we all know it as a server-side programming language for web servers. But actually PHP can offer us much more! In this short contribution, some concrete examples are worked out, each of them sufficiently explained also for the PHP-ignoramus. Demonstrating what PHP can offer us also outside the context of a web server. Read the article.
- Know Thine Own Database - Steven Scheldeman (ABIS)
It has become inconceivable for any modern company to work without a database. Of course, this can't be achieved without any knowledge of the the language to communicate with such a DB (SQL) and the actual software of the DB (DB2, Oracle, SQL Server, MySQL, ...). However, there's something that a lot of people tend to overlook. A profound knowledge of the actual software, the DB platform and SQL as a language, isn't the same as knowing your own database. Read the article.
- Tips and tricks for becoming a certified Java programmer - Sandy Schillebeeckx (ABIS)
As a (beginning) java programmer, it probably crossed your mind to get an official certification. Maybe you thought "why would I bother?". And once you do decide to go for it, where do you start? This article discusses some of the pros of becoming an Oracle Certified Professional Java Programmer (OCPJP, formerly SCJP) and lists some tips on how to achieve it. Read the article.
- ABIS and KLM: a narrow partnership! - Kris Van Thillo (ABIS)
ABIS interviews Hans Neesen, ICT Training Consultant at KLM about its partnership with ABIS. Read the article.
- Etudiant et Mainframe - Louis-Julien Goovaerts (stagiaire chez ABIS)
Étudiant en informatique, j'ai eu l'opportunité d'effectuer un stage pour finaliser mon Bachelier.
Devant l'abondance d'offres d'entreprises, j'ai choisi sans hésiter une qui me permétrai de travailler dans le développement mainframe. Mon choix n'a pas été anodin et ce, pour plusieurs raisons. Lisez l'article.
- RUP and Agile and the like - Ludo Van den dries (ABIS)
For more than 50 years we have been writing applications, and we have made tremendous progress on the technical side (hardware and software). Mastering and managing the software production process appears to be one of the toughest challenges, as indicated by the myriad of software development methods and process models that keep appearing and fading away. The last decade, a lot of attention went to incremental and iterative approaches like the Rational Unified Process (RUP) and several methods grouped under the 'Agile' umbrella. Read the article.
- CICS: from 3270 to service - Gie Indesteege (ABIS)
The Customer Information Control System (CICS) is a transaction manager designed for rapid, high-volume online transaction processing (according to Wikipedia). Originally developed for traditional 3270 terminals, the actual versions of the CICS Transaction Server support a variety of other user interactions, ranging from mobile devices, over web browsers, to service interactions. Read the article.
- "Ex Cathedra" vs. "Hands On" - Steven Scheldeman (ABIS)
"Ex Cathedra" teaching, traditionally the usual method of teaching, is neither the only way of knowledge, neither the best nor the worst. A "Hands On" approach has its advantages and disadvantages. At ABIS, we use a healthy mix of both. Read the article.
- WebSphere Application Server from 6.1 to 7 or to 8 - Koen De Backer (ABIS)
Companies will have to decide to migrate their WAS infrastructures. The question is will such a migration bring improvements for the existing application load, and if so what type of application load will benefit? Should a migration to the next level of WAS be considered or a migration to a completely different run time platform?
The latest version of WAS delivers new, practical, good features that will let you decide to go for improvement of infrastructure and stay with a very flexible server engine with an footprint adapted to the companies application load. Read the article.
- Object-Oriented Perl - Peter Vanroose (ABIS)
The programming language Perl allows you to either use procedural logic only, or work in an object-oriented way. In this short technical note I'll try to sketch why one would choose for "Object-Oriented Perl" or not, and give an example of an OO program in Perl. Read the article.
- Oracle and Objects - Sandy Schillebeeckx (ABIS)
In Oracle you can create objects. And in this case I don't mean tables or views or stuff like that. I am talking about real OBJECTS like in Java, C++,... How do you do this, and why would you bother? That is what I am going to explain to you in this article. Read the article.
- Hibernate and JPA2 - Gie Indesteege (ABIS)
Persisting Java objects to a relational database can be done in several ways: using the native JDBC API or working with a persistence framework, that avoids a lot of plumbing work and more over offers additional features like transactional support, security, caching, ... The chase for a good persistence framework is open. Read the article.
- ABIS and vICTory-be: no-nonsense! - Kris Van Thillo (ABIS)
ABIS interviews Eddy Vos, vICTory-be - they discuss common core-business values, z/OS knowledge requirements, and the Mainframe Academy. Read the article.
- Oracle: Play, Rewind, Replay - Kris Van Thillo (ABIS)
Never change a winning team, right? But change is inevitable - change is what keeps us going, keeps us evolving as human beings! So we have to prepare for it. Make sure that when change is needed, you are ready for it.
Be prepared! Oracle DBA's need to be prepared for many changes: to application code, to SQL statements, to database schema's, hardware environment, instance configuration, ... Oracle 11g offers a vast set of tools and techniques allowing DBA's to effectively predict and monitor the impact of 'change'. Read the article.
- ABIS helps KBC with their ICT Academy - Kris Van Thillo (ABIS)
ABIS interviews Patrick Tulpin, ICT Training Consultant at KBC about their CT Academy. Read the article.
- Agile development and Offshoring - Ludo Van den dries (ABIS)
For more than a decade now, Agile proposes more efficient (and thus cheaper) ways of producing software. And so does offshoring. Do they meet or do they clash? Read the article.
- UNIX shell scripting tips & tricks - Koen De Backer (ABIS)
A robust script should always take care of its environment, one of the aspects of this caretaking is the ability to clean up any temporary logs or processes left lying around from an unexpected termination. Another element to consider is when an interrupt from a user is received, what is the sensible action to be taken?
Furthermore a technique to detect error situations encountered by the script and the use of the system logging infrastructure to leave traces for later troubleshooting can make a script more useful for routine jobs. Read the article.
- REXX and SDSF - Gie Indesteege (ABIS)
REXX is a powerful language, which can now (since z/OS 1.9) be used to access the JES spool via SDSF functions. A powerful alternative to SDSF batch. Imagine you can pinpoint your batch jobs in error without using split screen start SDSF? Read the article.
- Java Frameworks - Can you see the wood for the trees? - Sandy Schillebeeckx (ABIS)
Ever heard of the french expression "L'embarras du choix"? That's actually the first thing that came to mind when I started to dig into the multitude of Java frameworks that are available these days. So how do you choose the right one(s)? Is it even possible to state which is THE best? Read the article.
- MySQL: new features since version 5.0 - Peter Vanroose (ABIS)
MySQL went through several important evolutions since its birth in 1995. It was mainly the switch from version 4.1 to 5.0, introducing constructs like views, triggers, and stored procedures, which marked the transition of an underdog RDBMS to a full-grown database server able to compete with its "big brothers". A brief historic overview of MySQL and a summary of what was added in MySQL 5.0 will help understanding the big potential of this great RDBMS! Read the article.
- The pillars of our services - Kris Van Thillo (ABIS)
As a service company, the ABIS way of working is based on some fundamental values. These pillars are briefly explained in this article. Read the article.
- SAS and the adaptation to the RDBMS world - Koen De Backer (ABIS)
In most companies data are held in various formats, not just SAS. The relational databases (DB2, Oracle, SQL Server,...) that we use, have their own peculiarities that may not always be obvious.
"Proc SQL" was developed by SAS to make use of some of the powerful components of SQL. The "Proc SQL" procedure available in SAS can minimise coding and maximise resource usage, particularly when working with very large data collections. Using "libname" for a database and working through "Proc SQL" doesn't mean your code is going to be handled as if running against a SAS data source. There are the usual design differences between SAS data sets and RDBMS tables, coding considerations, and the "libname" option versus "SQL Pass-Through". Read the article.
- TOGAF - Marc Christiaens (SMME)
TOGAF is an industry standard enterprise architecture framework to develop an enterprise information systems architecture for use within an organisation. TOGAF is a definitive and proven step-by-step method for developing and maintaining enterprise architecture. It covers four principal architecture domains: business, data, applications, and technology. Read the article.
- Just another newsletter? - Paul Veugelen (ABIS)
Everyone is writing newsletters. So, why (not) ABIS? And what can you expect? Read the article.
- Gehinderd door teveel kennis ter zake - Steven Scheldeman (ABIS)
Overdracht van kennis is aan veel factoren onderhevig: de vorm van lesgeven, het doel van een cursus, de kennis van de docent. In dit artikel staan we even stil bij enkele moeilijkheden die een opleidingscentrum kan ervaren door de keuze specialisten in hun vakgebied niet alleen als consulent te werk te stellen, maar hen ook de kennis-overdracht te laten verzorgen. Lees het artikel.
- ISPF - I like Such a Powerful new Feature - Gie Indesteege (ABIS)
Originated in the 70's the Structured Programming Facility (SPF) became a versatile Integrated System Productivity Facility (ISPF) for the actual z/OS user. Existing users are perhaps ignorant about the interesting powerful features of the recent versions. Commands like autotype or srchfor, new utilities for dataset manipulations, easy access to UNIX files, ... A little taster to the latest ISPF possibilities. Read the article.
- Enter Oracle spreadsheets - Kris Van Thillo (ABIS)
Nog steeds worden spreadsheets enorm veel gebruikt - hun flexibiliteit kent inderdaad nauwelijks grenzen. Eén van de belangrijkste uitdagingen eigen aan een spreadsheet blijft evenwel 'de data'. Die is veelal afkomstig van een derde bron, die dus in de spreadsheet moet worden gekopieerd. Als die derde bron wijzigt... juist! Ook de integratie van data en formules kan voor problemen zorgen. De oplossing: Oracle spreadsheets!
Het idee is even eenvoudig als spectaculair - want is het resultaat van een SQL select statement geen tabel, dus, een soort spreadsheet? We hebben dus enkel een SQL select instructie nodig die het 'standaard' select resultaat omvormt tot een spreadsheet resultaat, waarop we dan standaard spreadsheet berekeningen kunnen uitvoeren! En dat is nu juist de taak van de SQL select 'model' instructie. Lees het artikel.
- XQuery vs. XSLT: battle or coexistence? - Sandy Schillebeeckx (ABIS)
XQuery and XSLT are both designed to query and manipulate XML documents. There is an enormous amount of overlap among the features and capabilities of these two languages. So when are you going to use what? Read the article.