| |
|
Noticias del sector |
|
IBM developerWorks : Open source
|
The latest content from IBM developerWorks
|
|
|
-
Porting Perl To Python
Porting legacy Perl to Python can be a daunting task. In this article,
learn some of the theory behind dealing with legacy code, including what not
to do.
-
Read and write Excel data with PHP
Learn how to use the XML support in PHP to read the data from the XML exported from Microsoft Excel 2003. Also, learn to export data from your PHP application as Excel XML so your users can see their data in a real spreadsheet.
-
Comment lines: Core banking transformation worst practices and other scary stories
As many architects can attest, there are a lot of scary stories that exist in the pursuit of target solution architectures. Sometimes, these situations occur due to lack of experience, but they also occur as a result of not applying a sound architectural perspective to a given situation. This article looks at a number of actual scenarios and their associated resolutions in the hope of preventing similar misadventures.
-
Implementing Web messaging: Connect Ajax clients to near-real-time data with WebSphere Application Server Community Edition
Applications that depend on near-real-time data -- like stock quotes,
health-monitoring systems, sports updates, news alerts, and more -- are becoming more and more popular and essential. This article describes how you can create such an application using IBM WebSphere Application Server Community Edition and the Web messaging service component of the Feature Pack for Web 2.0. Step through the tasks and issues you might encounter creating a sports community application that reports live score updates, and learn about the low latency server-to-browser event push technique known as Comet.
-
Scaling OpenJPA applications with Slice
Slice is a module for distributed persistence in OpenJPA. Slice enables
an application developed for a single database to adapt to a distributed,
horizontally partitioned, possibly heterogeneous, database environment. This
all occurs without any change in the original application code or the database
schema. See how to leverage this flexibility for your own applications,
especially those destined for the cloud or Software as a Service.
-
5 things you didn't know about ... Command-line flags for the JVM
Java virtual machines come with hundreds of command-line options, which more experienced Java developers can use to tune the Java runtime. Learn how to monitor and log compiler performance, disable explicit garbage collection (System.gc();), extend the JRE, and more.
-
Deploying Gearman across multiple environments
The open source Gearman service allows you to easily distribute work to other
machines in your network, either because you want to spread the work over a large body
of machines or because you want to share the functionality of different languages and environments with each other. In this article, you will look at some typical uses of Gearman and how it can solve a variety of issues and problems in modern applications. You will also learn how Gearman can be combined with other tools, like memcached, to help speed up your application and processing requirements.
-
Accelerate Hibernate and iBATIS applications using
pureQuery, Part 1: Using the IBM Integration Module for Hibernate and pureQuery
When extended with the downloadable IBM Integration Module,
the IBM Optim pureQuery Runtime simplifies the process of generating
DB2 static SQL for Hibernate and iBATIS applications.
It does this without requiring you to make changes to your application code or
to gather SQL from production workloads.
The Optim pureQuery Runtime also enables Hibernate
and iBATIS applications that access DB2 or Informix to benefit from the heterogeneous
batching feature in pureQuery.
With the heterogeneous batching feature, you can batch multiple INSERT,
UPDATE, and DELETE requests before sending them across the network, even when the requests reference multiple tables.
This article is part one of a two part series.
It describes using the IBM Integration Module with Hibernate applications.
Part two will focus on iBATIS applications.
This article includes
a downloadable sample application that illustrates how you can easily enable both these
capabilities.
The article also provides informal elapsed time performance measurements.
-
Create PDFs on the fly using TCPDF
TCPDF is a popular open source PHP library that lets you create PDF
documents. Its flexibility and versatility lets you create even complex color
documents featuring whatever fonts and graphics you need. TCPDF is written
entirely in PHP and does all of this PDF magic without requiring any external libraries. This article introduces you to TCPDF, then walks you through reproducing a simple HTML invoice in a downloadable PDF file.
-
5 things you didn't know about ... Java Database Connectivity
JDBC, or Java Database Connectivity, is one of the most
frequently used packages in the entire JDK, and yet few Java developers use it to its
fullest -- or most up-to-date -- capacity. Ted Neward offers an introduction to newer
JDBC features like ResultSets that automatically scroll and update on the fly, Rowsets
that can work with or without an open database connection, and batch updates that can execute multiple SQL statements in one fast trip around the network.
-
Review and summary of cloud service level agreements
This is a review of the service level agreements section of the "Cloud Computing Use Cases Whitepaper" Version 4.0 -- posted by the Cloud Computing Use Cases Discussion Group -- to highlight the SLA issues that architects and developers should consider as they move to the cloud.
-
Applying memcached to increase site performance
The open source memcached tool is a cache for storing frequently used
information to save you from loading (and processing) information from slower sources, such as disks or a database. It can be deployed in either a dedicated situation, or as a method of using up spare memory in an existing environment. Despite the simplicity of memcached, it is sometimes used incorrectly, or it is used as a solution in the wrong type of environment. Learn when it is best to take advantage of using memcached.
-
Migrate your Linux application to the Amazon cloud, Part
2: Improving application reliability
In this article, the second in a series on migrating a Linux application
to the Amazon cloud, learn how to make your application more robust by
employing a load balancer and persistent disk. You'll use multiple servers and
learn how to safely back up your data.
-
Java Web services: WS-Security without client certificates
WS-Security symmetric encryption lets you secure message exchanges
between client and server without requiring client certificates, simplifying your web service configuration while also providing performance benefits. You can use it directly or in the bootstrap for WS-SecureConversation exchanges. In this article, you'll learn how to configure and use symmetric encryption with the three main open source Java Web services stacks: Axis2, Metro, and CXF. You'll also see how plain WS-Security symmetric encryption performance compares to WS-SecureConversation performance.
-
What is PMML?
The Predictive Model Markup Language (PMML) is the de facto standard
language used to represent predictive analytic models. It allows for predictive
solutions to be easily shared between PMML compliant applications. With predictive
analytics, the Petroleum and Chemical industries create solutions to predict machinery
break-down and ensure safety. PMML is supported by many of the top statistical tools. As a result, the process of putting a predictive
analytics model to work is straightforward since you can build it in one tool and
instantly deploy it in another. In a world in which sensors and data gathering are
becoming more and more pervasive, predictive analytics and standards such as PMML make
it possible for people to benefit from smart solutions that will truly revolutionize
their lives.
-
Improve file sharing and file locking in a cloud
Block storage is a key foundation to most file systems. File sharing and
file locking are important processes for sharing cloud data resources, and for eliminating
race conditions. Efficient implementation can make a significant mark on your system's and applications' performance levels. In this article, we use an open source example -- cloud platform Eucalyptus and
its storage component Walrus -- to demonstrate how to modify block storage to improve the
file-sharing and -locking mechanisms. Learn how to install Eucalyptus so you
can deliver a top-notch Infrastructure-as-a-Service platform.
-
Speeding up Ruby on Rails
Ruby on Rails, a popular Web development framework based on the Ruby programming
language, makes it easy to access your database, but it does not always do so efficiently.
Learn more about common performance problems with Rails and discover how you can
fix them.
-
Use Dojo to process web service responses
Using web services exposes functionality in a language- and
platform-independent manner. On the client side, Dojo is becoming increasingly
popular as a JavaScript tool for providing a rich client experience with
minimal programming effort. Learn to leverage your existing use of Dojo to
parse and process web service responses.
-
Keys to the kingdom of SMIL 3
The introduction of new multimedia presentation techniques in the W3C SMIL 3 recommendation has given the software industry a new challenge to bring professional tools up to date. In the meantime, developers and users can get a feel for the new techniques available in SMIL 3 using open source and other free tools such as Ambulant. Become familiar with what is new in SMIL 3 in this article.
-
Add your own GIMP features
The GNU Image Manipulation Program (GIMP) is a robust application for editing
and manipulating digital images. Because it's open source software, any developer is
allowed to modify and extend it with even more features. In this article, you will
learn how to get started with the GIMP code, how to build the project from the Git
repositories, and how to find your way around the code tree. And you will build an example application that creates a whole new painting tool for the program.
-
Metamodeling with EMF: Generating concrete, reusable Java snippets
Learn how to extend the Eclipse Modeling Framework (EMF) Ecore metamodel by
adding elements and attributes to model reusable Java snippets. Also see, step
by step, how to use dynamic templates with JET to generate the implementation code for
the extended model elements.
-
Using MapReduce and load balancing on the cloud
Learn how to implement the Hadoop MapReduce framework in a cloud environment and how to use virtual load balancing to improve the performance of both a single- and multiple-node system.
-
Distributed data processing with Hadoop, Part 3: Application development
With configuration, installation, and the use of Hadoop in single- and
multinode architectures under your belt, you can now turn to the task of
developing applications within the Hadoop infrastructure. This final article
in the series explores the Hadoop APIs and data flow and demonstrates their
use with a simple mapper and reducer application.
-
Query XML documents outside an XML database
Processing XML in Java usually requires a lot of code and overhead. If you use XQuery, you can do a lot
more with a lot less code, even when the XML is stored outside of XML databases. Learn how to use XQuery with
Java technology by extracting the hidden information from XML-based Maven POM files.
-
Migrate your Linux application to the Amazon cloud, Part 1: Initial migration
Cloud computing and Infrastructure as a Service (IaaS) are well
documented, but what's often not discussed is how to get a running
application into a cloud environment. In this series, discover how to move an application into
the cloud and take advantage of the features this setup has to offer. In Part
1, see a straight migration from one physical server to a cloud
server.
-
An introduction to Mashups4JSF
Creating mashups in web applications can be a headache. Developers need
to know intensive JavaScript, RSS and Atom parsing, JSON parsing, and parsing of other formats. Adding to these complexities, they
also need to study the low level APIs provided by the mashup service providers
and write a great deal of code to integrate their JSF applications.
Mashups4JSF is an open source project in incubation that aims at integrating
mashup services with the JSF world. Developers will be able to construct rich
and customized mashups by using simple tags. The aim of Mashups4JSF is to have
an integrated set of tags and APIs that produces a maintainable mashup
application. This article illustrates the architecture of Mashups4JSF,
configuration of the library, and creating a mashup application with few lines
of code, using Mashups4JSF and the IBM JWL (JSF Widget Library) on the
WebSphere application server 7.0.
-
Customizing MediaWiki
MediaWiki is the popular wiki engine behind sites like Wikipedia. Its power
and flexibility makes it an excellent choice for a community-driven knowledge
base. The ease of developing various extensions for MediaWiki is one of the sources of this flexibility. This article will show you how to create different types of extensions for MediaWiki: wiki variables, special pages, and new tags. You'll also get a quick overview of what you'll need to do to create skins for MediaWiki.
-
Review and summary of cloud security scenarios
This article reviews the security section of the "Cloud Computing Use Cases Whitepaper" Version 3.0 -- posted by the Cloud Computer Computing Use Cases Discussion Group -- to highlight the security issues that architects and developers should consider as they move to the cloud.
-
Creating mobile Web applications with HTML 5, Part 2: Unlock local storage for mobile Web applications with HTML 5
One of the most useful new features in HTML 5 is the standardization of local storage. Finally, Web developers can stop trying to fit all client-side data into 4 KB Cookies. Now you can store large amounts of data on the client with a simple API. This is a perfect mechanism for caching, so you can dramatically improve the speed of your application -- a critical factor for mobile Web applications that rely on much slower connections than their desktop brothers. In this second article in this series on HTML 5, you will see how to use local storage, how to debug it, and you will see a variety of ways to use it to improve mobile Web applications.
-
Creating mobile Web applications with HTML 5, Part 3: Make mobile Web applications work offline with HTML 5
Part of the appeal of mobile applications is that you can take your application and its data with you wherever you go. One reality of mobile is, at times, a mobile device does not have a working connection to the Internet. This might seem to be an insurmountable problem for mobile Web applications. However, Web applications have evolved and become capable of working offline. In this article, you will learn how to offline-enable your mobile Web application and learn to detect when your application goes from offline to online and vice versa.
-
Deriving new business insights with Big Data
Emerging capabilities to process vast quantities of data are bringing
about changes in technology and business landscapes. This article examines the
drivers, the new landscape, and the opportunities available to analytics with
Apache Hadoop.
-
Creating mobile Web applications with HTML 5, Part 4: Using Web Workers to speed up your mobile Web applications
Web applications have traditionally been stuck in a single-threaded world. This really limited developers in what they could do in their code, since anything too complicated risks freezing up the UI of the application. Web Workers have changed all of that by bringing multi-threading to Web applications. This is particularly useful for mobile Web applications where most of the application logic is client-side. In this article, you will learn how to work with Web Workers and discover which tasks are most appropriate for them. You will see how you can use with other HTML 5 technologies to increase the efficiency of using those technologies.
-
Creating mobile Web applications with HTML 5, Part 1: Combine HTML 5, geolocation APIs, and Web services to create mobile mashups
In the first part of this five part series, you will tap into one of the most popular new technologies available to mobile Web applications: geolocation. High-end smartphones all have GPS built-in to them, and now you will learn how it can be used by a Web application. In this article you will learn how to use the various aspects of the geolocation standard and how to use it with some popular Web services to create an interesting mobile mashup.
-
Creating mobile Web applications with HTML 5, Part 5: Develop new visual UI features in HTML 5
HTML 5 comes with plenty of new features for mobile Web applications, including visual ones that usually make the most impact. Canvas is the most eye-catching of the new UI capabilities, providing full 2-D graphics in the browser. In this article you learn to use
Canvas as well as some of the other new visual elements in HTML 5 that are more subtle but make
a big difference for mobile users.
-
Using Internet data in Android applications
Many of your Android applications will need to interact with Internet data, which comes in a variety of formats. In this article, build an Android application that works with two popular data formats -- XML and JavaScript Object Notation (JSON) -- as well as the more exotic protocol buffers format from Google. You'll learn about the performance and coding trade-offs associated with each format.
-
Build a web-based notification tool with XMPP
Real-time web applications are networked applications, with web-based
user interfaces, that display Internet information as soon as it's published. Examples
include social news aggregators and monitoring tools that continually update
themselves with data from an external source. In this tutorial, you will create
Pingstream, a small notification tool that uses PHP and JavaScript to communicate over the Extensible Messaging and Presence Protocol (XMPP), a set of XML technologies designed to support presence and real-time-communications functionality.
-
Java Web services: WS-SecureConversation performance
WS-SecureConversation lets you secure ongoing Web service message
exchanges with less processing overhead than plain WS-Security. In this article,
you'll learn how to configure and use WS-SecureConversation with the three main open
source Java Web services stacks: Apache Axis2, Metro, and Apache CXF. You'll also see how the three stacks compare on WS-SecureConversation performance.
-
Express social objects in Atom format
The popularity of social networking sites has given rise to an emerging standard for web feeds that express what people are doing online. With Activity Streams, an extension to the Atom format, your websites can syndicate social activity. Explore how the Activity Streams format expresses social objects, learn how to build an activity-feed encoder in PHP, and discover some uses Activity Streams might serve in the enterprise.
-
A tour of Eclipse Helios
The Eclipse Helios simultaneous release of 39 Eclipse projects and 33 million lines of code showcases the diversity and innovation going on inside the Eclipse ecosystem. Get an overview of several projects, along with resources to find out more information.
-
Produce 60-second radio theatre with XML, PHP and Festival
Produce and record a 60-second theatre sound play using XML, PHP, and Festival, and provide stage directions, inject sound effects, and control dialogue flow, with a cast of dynamically allocated Festival voices.
-
Understanding information content with Apache Tika
With the increasingly widespread use of computers and the pervasiveness
the modern Internet has attained, huge amounts of information in many
languages are becoming available. Automatic information
processing and retrieval is urgently needed to understand content
across cultures, languages, and continents. A recent Apache software project,
Tika, is becoming an important tool toward realizing content
understanding.
-
Deep-protocol analysis of UNIX networks
Whether you are monitoring your network to identify performance issues,
debugging an application, or have found an application on your network that you do
not recognize, occasionally you need to look deep into the protocols being used on
your UNIX network to understand what they are doing. Some protocols are easy to
identify and understand, even when used on non-standard ports. Others need more investigation to understand what they are doing and what information they are exchanging. In this article, we will take a look at techniques for performing detailed analysis of the protocols in use on your UNIX network.
-
Data mining with WEKA, Part 3: Nearest Neighbor and server-side library
Data mining can be used to turn seemingly meaningless data into useful
information, with rules, trends, and inferences that can be used to improve
your business and revenue. This article will go over the last common data
mining technique, "Nearest Neighbor," and will show you how to use the WEKA
Java library in your server-side code to integrate data mining technology into
your Web applications.
-
Distributed data processing with Hadoop, Part 2: Going further
The first article in this series showed how to use Hadoop in a
single-node cluster. This article continues with a more advanced setup that
uses multiple nodes for parallel processing. It demonstrates the various node
types required for multinode clusters and explores MapReduce functionality in
a parallel environment. This article also digs into the management
aspects of Hadoop -- both command line and Web based.
-
Continuous integration with Buildbot
The days of cowboy coding are long gone at most organizations, replaced
by a renewed interest in generating quality software. Continuous integration
(CI) testing is a vital component in the practice of agile programming
techniques that lead to high-quality software. Learn the theory and practice
of CI testing by exploring Buildbot, an open source CI system written in
Python.
-
Using Spring and Hibernate with WebSphere Application Server
If you're considering using Spring or Hibernate with IBM WebSphere
Application Server, this article explains how to configure these frameworks
for various scenarios with WebSphere Application Server. This article is not
an exhaustive review of either framework, but a critical reference to help you
successfully implement such scenarios. (Updated with new security information.)
-
Simple server-side 2G phone apps
Mobile phones are transforming economies and societies all over the world, but often with phones that might be considered out-of-date by gadget geeks in more developed nations. The good news is that applications that work with these phones can be very simple to write, and they give your application a huge potential user base. In this article, learn how to write programs that respond to specialized requests for information from 2G phones.
-
Integrating healthcare services, Part 1: Using an Enterprise Service Bus for healthcare
Ideally, the diverse services that medical patients need should interconnect and
interoperate to enhance healthcare quality and efficiency. This article, the first of
two parts, discusses the aggregation of healthcare services using Java Business
Integration (JBI) architecture. Such an aggregation platform -- a Healthcare Service Bus (HSB) -- can be readily adapted to other industries.
-
Java development 2.0: NoSQL
NoSQL datastores like Bigtable and CouchDB are moving from margin to center in the Web 2.0 era because they solve the problem of scalability, and they solve it on a massive scale. Google and Facebook are just two of the big names that have bought in to NoSQL, and we're in early days yet. Schemaless datastores are fundamentally different from traditional relational databases, but leveraging them is easier than you might think, especially if you start with a domain model, rather than a relational one.
-
Data mining with WEKA, Part 2: Classification and clustering
Data mining is a collective term for dozens of techniques to glean
information from data and turn it into meaningful trends and rules to improve
your understanding of the data. In this second article of the series, we'll
discuss two common data mining methods -- classification and clustering -- which
can be used to do more powerful analysis on your data.
|
|
|