Inicio arrow Noticias del sector
Extranet IO
Nombre de usuario

Contraseña


Noticias del sector
IBM developerWorks : Open source
The latest content from IBM developerWorks

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.


Derechos Reservados © 2003-2005. - Diseñado por IO Soluciones - Potenciado por Mambo bajo la licencia GNU-GPL.