One of the ways that the IBM WebSphere Application Server V7.0 Feature Pack for Communications Enabled Applications (CEA) simplifies embedding communications capabilities into Web applications is through a ready-to-use set of Dojo widgets. These widgets enable click-to-call functionality, cobrowsing sessions, two-way form capabilities, and more. These widgets and the functions they provide can be leveraged by simply including the appropriate HTML element on a user's Web page. Beyond the functions they deliver right out of the box, you can extend these widgets to provide a customized, enhanced communications experience in your Web applications using your own HTML, Dojo, and JavaScript skills. To see how, follow this tutorial and extend the Collaboration Dialog and Cobrowse widgets to deliver instant messaging capability in a Web cobrowsing session.
View entire articleThe World Wide Web Consortium (W3C) "Widget Packaging and Configuration" specification is currently in candidate recommendation status. The widgets, which can be used to provide rich Web application elements for mobile devices and Web sites, are an emerging technology to be used with Hypertext Markup Language (HTML). They are packaged as compressed (.zip) files and can be deployed in HTML files with a Multipurpose Internet Mail Extensions (MIME) type of application or widget. This article dives deeper into the specification, exploring how Web application developers can use it and what the benefits are.
View entire articleThis article, the second in a three-part series, explores advanced topics in Apache Wink 1.0 development, a new Java framework for implementing and consuming REST-based Web services.
View entire articlePyjamas is a cool tool, or framework, for developing Asynchronous JavaScript and XML (Ajax) applications in Python. It's a versatile tool that you can use to write comprehensive applications without writing any JavaScript code. This series examines the myriad aspects of Pyjamas, and this first article explores Pyjamas's background and basic elements. Step through the process of building a sample application with Pyjamas using the article's examples.
View entire articleNew concepts and strategies require changes in vocabulary. With a move toward lower cost, highly flexible, cloud-friendly architectures, the concept of elasticity has been established for an enterprise IT solution. This article explores a specific definition of elasticity by describing examples present in IBM WebSphere eXtreme Scale, an elastic in-memory data grid.
View entire articleSince the World Wide Web emerged in the early 1990s, HTML has evolved to become a relatively powerful markup language, which, when backed up by its close partners JavaScript and CSS, can be used to create visually stunning and interactive Web sites and applications. This tutorial serves as a hands-on introduction to HTML5 and CSS3. It provides information about the functionality and syntax for many of the new elements and APIs that HTML5 has to offer, as well as the new selectors, effects, and features that CSS3 brings to the table. Finally, it will show you how to develop a sample Web page that harnesses many of these new features. By the time you have finished this tutorial, you will be ready to build Web sites or applications of your own that are powered by HTML5 and CSS3.
View entire articleDeveloping for mobile devices has been a high cost, low return proposition for many years, despite the hype around it. The latest generation of smartphones powered by the iPhone OS and Google's Android provide a much simplified solution: just build Web applications. This gives you a one build for all devices approach, which can lower the cost. Even better, these high-end devices all offer ultra-modern browsers supporting advanced HTML, JavaScript, and CSS. In this article, learn how to build Asynchronous JavaScript and XML (Ajax)-heavy applications that take full advantage of the capabilities of modern smartphones. You will learn not only how to get the most out of these devices, but also how to deal with the subtle differences between them.
View entire articleJAX-RS (JSR-311) is a Java API that enables quick and easy development of Java RESTful services. The API provides an annotation-based model for describing distributed resources. Annotations are used to provide resource location, resource representation, and a pluggable data binding architecture. In this article, learn how you can use JAX-RS to realize the potential of a RESTful services architecture in a Java EE environment.
View entire articleHave you ever wished that Cookies were a lot bigger so you could store more data on the client, or that you could make cross-domain Asynchronous JavaScript and XML (Ajax) calls? If so, you are in luck. Both of these techniques can be accomplished using invisible Flash. So, just what is invisible Flash? It is not really invisible, however, it is 1 pixel by 1 pixel, which makes it pretty hard to see. And, it can be used as a way to tap into the capabilities of the Flash Player. In this article, you will learn how to build invisible Flash files that let you to store up to 100 KB of client-side data and make cross-domain Ajax calls -- all without your users ever knowing that Flash is being used.
View entire articleDo you want to quickly build a Web application that can be maintained, or worked on, by other people? Google Sitebricks lets you rapidly develop Web applications that are built to last. Sitebricks uses dependency injection to do away with boilerplate code. It leverages type safety and inference to check the correctness of your application, so you catch problems at compile time instead of run time. In this article, learn how to build Web applications powered by Google Sitebricks.
View entire articleThis article introduces Apache Wink, which is a framework for building Representational State Transfer (REST)ful Web services. Apache Wink is an Apache Incubator project. Its goal is to provide an easier method of writing RESTful Web services by providing the ability to use Java annotations to define services inside classes.
View entire articlepureQuery client optimization requires the use of properties settings to enable a specific stage of the client optimization process. Settings for these properties vary, depending on the required behavior for your Web application environment. This first article of a two-part series describes property settings for a Web-based application running on a single application server node that uses single or multiple databases shared across multiple applications. The second article will focus on how to set client-optimization properties in more complex Web environments, such as with clustered servers. This article assumes you are familiar with the pureQuery client-optimization process and with setting Web application properties in WebSphere(R) Application Server or in your chosen application-server environment.
View entire articleIn this article, the first in a three-part series, discover the basics of Apache Wink 1.0, the new Java framework for implementing and consuming REST-based Web services.
View entire articleApache Wink is an open source implementation of the Java API for RESTful Web Services (JAX-RS) specification. Learn how to develop, deploy, and run RESTful Web services using Apache Wink along with the Eclipse IDE and the Maven project management tool.
View entire articleLarge Web development initiatives generally comprise multiple development projects executed simultaneously by geographically distributed teams who work around the clock. Specific components developed by these teams are expected to interoperate as seamlessly as possible. One key requirement for such development is the definition of the contracts between the teams charted with building the different components. A good simulator framework provides the best possible team isolation and potentially accelerates productivity by supporting the full suite of requests and responses supported by each interface contract. This article describes using a simulator framework in fast-paced Web development environments, and shows, step by step, how to create one in short order using Rational Application Developer, along with examples and sample code.
View entire articleModern Web sites and Web applications tend to rely quite heavily on client-side JavaScript to provide rich interactivity, particularly through the advent of asynchronous HTTP requests that do not require page refreshes to return data or responses from a server-side script or database system. In this article, you will discover how JavaScript frameworks make it easier and faster to create highly interactive and responsive Web sites and Web applications.
View entire articleEvery enterprise has talented, experienced employees focused on creating value from information. The Web is often the primary source of that information. In this article, learn about a system that enables employees to interact with Web pages and captures their interactions. The result is a valuable repository of Web-based information focused on the business of the enterprise. Also explore a high-level architecture for the mechanisms that create the repository.
View entire articleThe IBM WebSphere CloudBurst Appliance provides the capability to create highly customized IBM WebSphere Application Server environments and then deploy them into their own cloud. However, the job of the appliance does not end once the environments have been deployed. WebSphere CloudBurst delivers users function that helps you update and maintain these environments. This article discusses how to use WebSphere CloudBurst to apply WebSphere Application Server Hypervisor Edition iFixes, fixpacks, and your own fixes to both images and actual WebSphere Application Server virtual system environments.
View entire articleThe IBM WebSphere CloudBurst Appliance is a cloud management device that provides you with the ability to quickly and simply create, deploy, and manage virtualized WebSphere middleware application environments in an on-premise cloud. Because it's new and because it challenges traditional processes, WebSphere CloudBurst tends to prompt more than a few questions from curious technical and business audiences. Here are some of the most frequently asked about this groundbreaking new appliance.
View entire articleGet introduced to Apache Click, a Java Platform, Enterprise Edition (Java EE) Web application framework that enables the creation of Web applications without using Model-View-Controller (MVC) patterns or JavaServer Pages (JSP). This article provides examples of displaying a simple Web page and creating a Web form that submits data that is displayed on a different Web page.
View entire articlePart 1 of this series introduced the OAuth protocol and showed you how to develop an OAuth-enabled desktop Twitter client. In Part 2, you will learn how to develop an OAuth-enabled Web Twitter client, from which users can update or delete their status and display their friends' timelines.
View entire articleWith the increasing interest in Ruby on Rails from companies in the enterprise world, some observers have posed questions about its suitability when it comes to the demanding requirements in this arena. One issue that some have called attention to is that ActiveRecord, Rails' Object-Relational Mapper (ORM), doesn't use prepared statements--or at least it didn't until now. With the latest release of DB2 on Rails, parameterized queries are automatically available and bring with them important performance and security benefits to Rails applications.
View entire articleLearn how Perl programmers can use three of the CPAN S3 modules -- Net::Amazon::S3, Amazon::S3, and SOAP::Amazon::S3 -- to list, create, and delete "buckets" (S3 data storage); to list, create, retrieve, and delete items in a bucket; and to get an item's metadata.
View entire articleThis article shows you how to use GWT Tree widgets to display an organizational structure of a company, and how to implement an RPC proxy to integrate with RESTful Web services that provide organizational data and employee data. The article also discusses a lazy loading strategy to ensure a faster start up, to reduce the data download time, and to minimize memory usage.
View entire articleIn a previous article "GMaps4JSF in the JSF 2.0 Ajax World," I explained how GMaps4JSF aims to integrate Google maps with JavaServer Faces (JSF). Now, in this article, I describe step by step how to create a mashup JWL application that uses different GMaps4JSF components in Rational Software Architect for WebSphere Software 7.5.
View entire articleFew things change as quickly as technology, and Web technology seems to change faster still. Discover what you can expect from technology makers in 2010.
View entire articleGoogle Books allows Web application developers to access book lists and metadata through its REST-based developer API. The Zend Framework's Gdata module is able to process the XML feeds generated by this API and use it in the context of customized Web applications. This article introduces the Google Book Search Data API, demonstrating how you can use it to search for books by keyword, author, and title; retrieve book thumbnails and previews; and add reviews and labels to user libraries.
View entire articleZK, an open source Asynchronous JavaScript + XML (Ajax) framework written in Java code, lets you write a Web 2.0-enabled, rich Internet application without writing a single line of JavaScript code. Typical Ajax frameworks like Dojo have JavaScript libraries that expose certain API's for making "Ajaxified" calls. ZK, on the other hand, uses a meta-definition based on XML to define the user interface. Translation to HTML code then occurs when this page is requested by the client. This article introduces you to ZK and gives you a real-world example of its use running on Apache Tomcat and connecting to a MySQL database.
View entire articleOAuth is an open protocol that enables users to share their protected resources among different Web sites, without risking exposure. OAuth is an ideal candidate for mashing up today's social networking Web sites like Twitter. The first part of this series gives an introduction to OAuth, followed by an example of the development of an OAuth-enabled desktop Twitter client. The second part of this series demonstrates how to develop an OAuth-enabled Web Twitter client, which will be migrated to Google App Engine (GAE) in the third and final part of the series.
View entire articleDigg is a social news Web site where users can submit news stories and links and also rank their popularity. Like most entries in the social networking genre, this Web site also provides an API that allows developers to programatically access the site's features. This article will show you how to use that API.
View entire articleIBM DB2 pureXML allows you to store XML data natively in a relational database management system, giving you the power and flexibility to report on this data without disturbing the advantages that its XML format offers. In this tutorial, you will learn how to connect to a DB2 database from the Python programming language, importing data about population from the United States Census Bureau. You will use Python to convert this CSV file into XML, before inserting this XML data natively into DB2. Finally, you will use Python to create a command-line application that produces some informative tables that you can access through a menu system.
View entire articleHow do you know if your IT is green? Examine techniques for creating a greener technical environment, and explore some of the circumstances which may make those techniques less green than you think.
View entire articleWith IBM InfoSphere(TM) Content Collector, you can prompt users to add additional archiving information to e-mail documents before the documents are archived. The user interfaces that are used to prompt for data are Web 2.0-style Dojo applications, called forms. This article describes how to customize forms to integrate with Web services and how to include new user interface elements. With this knowledge, you can build forms that model advanced use cases that are tightly integrated with your environment.
View entire articleAs an IBM WebSphere CloudBurst user, you create patterns and deploy them into a private cloud. These patterns are complete representations of IBM WebSphere Application Server environments and can include many different parts, such as a deployment manager, custom node, administrative agent, and more. Each of these parts maps to a unique virtual machine, and that virtual machine is created from a virtual image. Specifically, the virtual machine is created from an IBM WebSphere Application Server Hypervisor Edition virtual image, which contains the operating system, WebSphere Application Server, and IBM HTTP Server, all pre-installed, pre-configured, and pre-tuned. However, this image does not contain other customizations or content that might be required for your specific environment. This article describes how easy it is to customize the WebSphere Application Server Hypervisor Edition virtual image to meet your application environment’s specific needs.
View entire articleConstructing applications and application environments is a core part of IT in many enterprises today. Because the process of building such resources are usually human-driven – and can therefore be time-consuming and error-prone -- users naturally turn to technology to help automate these processes. With many automation products available, choosing one can be daunting. This article looks at a simple integration between IBM WebSphere CloudBurst and IBM Rational Build Forge to fully automate such a process, and thereby provide a rapid and repeatable means for delivering applications and application environments.
View entire articleGetting started with Web 2.0 and social networking can be a challenge for any organization. Identifying Web 2.0 patterns and creating a cohesive roadmap for implementation requires some degree of investment. Knowing where you are headed can help in putting together a long term plan.
View entire articleLearn how to access the features of the Twitter API using the CPAN Net::Twitter module. You'll also see some solid business uses for Twitter, including automated posting and analyzing Twitter search results.
View entire articleMy developerWorks is a worldwide community of software developers and IT professionals of all stripes, from students to seasoned veterans. As you'd expect, there's a lot going on in this community, 24/7. New groups of users who share common interests are forming. Blogs and wikis are starting up. Bookmarks and files are being added, examined, and copied. Collaborative activities are breaking new ground. And now new features and the revamped home page make it even easier to contribute and keep tabs on it all. So...whether you're new to My developerWorks (welcome!) or already in the community, read on to see the new ways the community can help you thrive.
View entire articleWith the emergence and popularity of Web 2.0 applications, the way people use the Internet has slowly changed. These Web 2.0 applications now have many typical aspects, including having a rich client, a large page size, lots of small items on a page, excessive JavaScript coding, and so on. Most of these aspects, with the current Browser technology, can cause browser-side performance issues, especially in long-distance network situations. This article analyzes the key facts of typical Web 2.0 applications and describes how they will affect browser-side performance. It also takes a look at a very important part of browser-side performance -- browser-side cache.
View entire articleThe popular jQuery JavaScript library is best known for its use working with HTML, but you can also use it to process XML, if you're careful and aware of the pitfalls. This article shows how to use jQuery to process the Atom Web feed format. Web feed XML is perhaps the most pervasive XML format around, and the main fulfillment of the promise of XML on the Web. But most such formats use XML namespaces, which cause issues with many popular JavaScript libraries, including jQuery.
View entire articleWant guaranteed uptime availability when you try to download content from Digital Rights Management (DRM) resources? Get a recap on usage rights and pricing, and learn how to test DRM service features to find the problem of frequent interruptions. Explore the solution of covering DRM resources with a SLA that guarantees uptime availability with minimal packet loss and low interruption thresholds. And finally, see examples of what exceptions to include in your SLA, and see how competing services can affect your choice of exceptions.
View entire articleWeb 2.0 brings innovative design ideas and methodologies to the financial industry and improves considerably the development of business applications in this competitive market environment. This article explains how Web 2.0 influences the design of financial applications. Examine trends in Internet banking and how Web 2.0 practices influence those trends.
View entire articleCurrently, Web-based applications are being developed for almost every industry, providing online services that people can access anytime and anywhere. Such services range from online tutoring to virtual shopping, helping people complete their tasks with comfort and ease. Web-based systems are quite attractive because there are no platform constraints and installation requirements. With the emergence of Web 2.0, there is a lot of momentum to build intelligent Web applications that provide more intelligent services. This article describes an architecture for intelligent Web-based applications and discusses each component in the application with implementation details.
View entire articleFlickr isn't just for photo sharing and social networking; it's a legitimate business tool. Learn how Perl programmers can use the CPAN Chart modules to create charts and graphs, and the Flickr::Upload module to upload the charts to Flickr.
View entire articleFor collecting data from Web pages, the mechanize library automates scraping and interaction with Web sites. Mechanize lets you fill in forms and set and save cookies, and it offers miscellaneous other tools to make a Python script look like a genuine Web browser to an interactive Web site. A frequently used companion tool called Beautiful Soup helps a Python program makes sense of the messy "almost-HTML" that Web sites tend to contain.
View entire articleWeb 2.0 allows the development of robust functionality with a minimum of coding by reusing existing components rather than reinventing them. Part 1 of this series discussed using an Asynchronous JavaScript and XML (Ajax) framework to create a Web application to create slideshow presentations. Part 2 provides the framework discussed in the first article and adds functions to make it editable. Using this article, find out how much you can achieve with relatively little code.
View entire articleWriting a Web service that produces data in text format is quite simple, but users often prefer getting something they can work in, like spreadsheets. Producing ODF spreadsheets isn't particularly complicated, and this article introduces some ways of doing so working with PHP and Python.
View entire articleWith the Web 2.0 technology of OpenSocial gadgets, developers can easily include their applications in popular Web sites, such as iGoogle, MySpace, Hi5, LinkedIn, and others. In this article, explore OpenSocial gadgets through hands-on construction of an application that leverages the pureXML capability of DB2. This article is the last in a series of three that illustrates how to build a pureXML application whose user interface is a gadget that you can deploy in any OpenSocial compliant Web site. Follow the steps in this article to build a user interface that stores and retrieves the JSON data described in the first article through JSON Universal Services created in the second article.
View entire articleGet examples of Service Level Agreement (SLA) values you can add to your applications and exceptions you can include in your SLAs. Take advantage of these techniques to make your intended usage clearer to people who use and mash up your application under a Creative Commons (CC) license.
View entire articleJavaScript Object Notation (JSON), a popular textual notation in Web 2.0, is used to represent objects (or data structures) as serialized text when clients and servers exchange information. Some applications benefit from persisting JSON objects to maintain state across sessions. In this article, learn how DB2 pureXML can store, manage, and query JSON when you adopt a simple JSON-to-XML mapping.
View entire articleCreate a custom Dojo build for your custom widgets without including any modules from the dojo/dojox/dijit packages into your build output. Custom Dojo builds reduce the number of modules to be downloaded by combining all the modules into a single file, thereby reducing the number of network calls required for the individual module files. These techniques were developed with a real-world project where compact packages were a requirement. This article helps you to create optimized Dojo builds using the Dojo build tool.
View entire articleSeveral interface options are available to help you to interact with the IBM WebSphere CloudBurst Appliance, which provides functionality for creating, deploying, and managing IBM WebSphere Application Server virtual systems in a private cloud. These interfaces include a Web 2.0 graphical user interface, a Jython command line interface, and an HTTP REST API. This article discusses the HTTP REST API, which provides a language-neutral interface that is ideal for integrating WebSphere CloudBurst capabilities into existing applications or user interfaces.
View entire articleBecause every user scenario is unique, the IBM WebSphere CloudBurst Appliance has built-in features to help you configure and customize your IBM WebSphere Application Server environments. Part 3 of this series describes how to customize and enhance your deployed WebSphere Application Server environments using script packages.
View entire articleTechnologies are often linked together, and knowledge that you have in one area can help you gain skill in another. This article introduces the major features of Dojo Grid from an Model-View-Controller (MVC) design pattern perspective. Using the article, discover how you can understand and easily master Dojo Grid, even you haven't used it before.
View entire articleThe pureXML capabilities of IBM DB2 allow you to store XML natively in a database without modification, while Adobe Flex applications can read XML directly and populate Flex user interfaces. In this three-part article series, you will create a microblogging application that takes advantage of pureXML, Web services, and Adobe Flex; and even allows you to publish your microblogging updates on Twitter. In Part 1 of the series, you learned about Web Services and how they are enabled using DB2 pureXML as you created the microblog database and tested it. Part 2 tapped into Adobe Flex and ActionScript to create the user interface of your application. In this article, the final part of the series, you will learn how to use your pureXML Web Services to publish your microblog entries to an HTML page.
View entire articleThe pureXML capabilities of IBM DB2 allow you to store XML natively in a database without modification, while Adobe Flex applications can read XML directly and populate Flex user interfaces. In this three-part article series, you will create a microblogging application that takes advantage of pureXML, Web services, and Adobe Flex; and even allows you to publish your microblogging updates on Twitter. In Part 1 of the series, you learned about Web Services and how they are enabled using DB2 pureXML as you created the microblog database and tested it. In this article, Part 2 of the series, you will tap into Adobe Flex and ActionScript to create the user interface of the application.
View entire articleHow do you know who is doing what and where on your site? Chances are you have an Apache-style log for your site, and you just need to learn how to mine it for valuable information. Learn about the format of Web server logs and how to access them in code. Along the way, apply a recipe to identify spider traffic from Web crawlers.
View entire articleThis is the first of a five-part series of articles written for the PHP developer interested in learning about an open-source, flexible, and scalable framework called Agavi. In this first article, you walk through the installation of the framework and the other required components, get an overview of Agavi and its functions, and create your first Web application.
View entire articleContinue to build the Web Automobile Sales Platform by adding the ability to add, delete, and update the automobile records in Part 3 of a five-part series. You will also see how to separate user functions from administrative functions with authentication.
View entire articleImplement a simple search engine and add support for multiple output types such as XML, RSS, or SOAP for your sample Agavi program in Part 4. This five-part series is for the PHP developer interested in Agavi, a open-source, flexible, and scalable framework.
View entire articleThis is the final article in a five-part series written for the PHP developer interested in learning about an open-source, flexible, and scalable framework called Agavi. You'll learn to support file uploads, store user data in sessions, integrate third-party libraries and create custom input validators for your Agavi application.
View entire articleWork with the scalable, open-source Agavi framework to create an input form, use Doctrine to auto-generate the data models for the project, and integrate these models into the Agavi project in Part 2 of this five-part series.
View entire articleThe increasing reliance on data-driven Web sites has caused an incline in the number of attacks launched against them. As a developer, understanding how a site can be attacked is paramount to making it secure. Discover some of the more common attacks, and learn about the tools you can use to spot them.
View entire articleBy now, you have probably heard of Google Web Toolkit (GWT). You know that it lets you write your Web applications in the Java programming language that is compiled into JavaScript to run in Web browsers. This lets you be more productive by taking advantage of Java's static typing and great tools like Eclipse. You have may seen some of the useful and stylish widgets built on top of GWT. What you may not know is that GWT lets you create high-performance Web applications. In this article, we look at how you can use the Google Plug-in with Eclipse Galileo to tap into the performance features of GWT, such as compiler optimizations, deferred binding, and Ajax optimizations. Developer performance is still an important part of GWT, so along the way, we will also show you how tweak the Google Plug-in for Eclipse to increase your productivity.
View entire articleWant to increase productivity when managing tasks of developing Ajax applications? Regular developerWorks author Judith Myerson covers how you can use common Asynchronous JavaScript and XML (Ajax) workspace as a way to collaborate with team members, make or get workspace templates, allocate workspace dynamically, centralize communications for better administration, and make or get Ajax libraries. She shows you how to mitigate project risks to more acceptable levels and how to set up a pilot study on the workspace to test the application before integrating it into legacy enterprise systems.
View entire articleYou may know how to hide and display optional JavaServer Faces (JSF) components by using JavaScript and Cascading Style Sheets (CSS) in standard JSF components. To do this, you would first need to identify all JSF components and write them into JSF pages. But, that is impossible to do when you are developing a Web page that contains dynamic elements that are unknown until run time. With this article, learn how you can clear old UI components while automatically updating the dynamic elements of a Web page, as well as how to use Java code to add new elements and put them into their proper spot on a Web page. You'll also learn how to bind different event handlers to different dynamic elements of a Web page, how to register a listener listening to changes of server-side data to invoke a page refresh, and how to use Asynchronous JavaScript and XML (Ajax) techniques to refresh only the dynamic parts of the Web page.
View entire articleApache Pivot is an open source platform for building rich internet applications (RIAs) in a Java environment. It combines the enhanced productivity and usability features of a modern RIA toolkit with the robustness of the industry-standard Java platform. Apache Pivot applications take advantage of WTKX, an XML-based language for user interface design, which makes the application's output easy to visualize. In this tutorial, you will follow the implementation of a simple but practical Pivot application that allows a user to execute searches against the contents of the iTunes Store.
View entire articleThis article describes a system that uses open source tools to collect, edit, and funnel information to a central database, where it is arranged appropriately for presentation, not on the screen, but announced via the audio system for the benefit of users such as those with visual impairments. The system uses a number of PHP agents that operate independently to generate, edit, arrange, and announce information.
View entire articleThe Zend Framework contains several classes that make using cloud-based storage services easy. Part 1 of this "Cloud computing with PHP" series looks at using Zend classes with Amazon's S3 cloud storage service. This article covers the Zend classes that make it easy to work with virtual machines in Amazon's Elastic Compute Cloud (EC2).
View entire articleWant a real-time interactive collaboration Web site? Regular developerWorks author Judith Myerson talks about addressing the needs of people who want to collaborate, and the developers who want collaboration models that they can modify for different reasons. She gives three collaboration scenarios: Supply Chain Management, Plant Engineering Management, and Research Papers in Science, and covers the impact of IPv6 on mobile devices.
View entire articleThe open source SOA company's (WSO2) Web services framework for Jython (WSF/Jython) provides a simple approach to creating and consuming Web services in Jython. This framework integrates the Apache Axis2 Web services engine with Jython, extending all the power and versatility of the Axis2 engine to Jython users. Now, with just a few lines of code, Jython users can enjoy the benefits of Service-Oriented Architecture (SOA) using Web services. Web service clients written using the WSF/Jython framework can invoke enterprise Web services that require WS-Security. WSF/Jython also supports sending binary attachments as MTOM.
View entire articleThere can be challenges when introducing Asynchronous JavaScript and XML (Ajax) programming techniques into a network environment. This article looks at security and topology scenarios that you might be trying to solve when creating Ajax style architectures that aggregate content from multiple sites. This article explores these scenarios using the IBM Tivoli Access Manager WebSEAL product in conjunction with the IBM WebSphere Application Server Feature Pack for Web 2.0 for developing Ajax style architectures for WebSphere Application Server.
View entire articleAt the heart of the IBM WebSphere CloudBurst Appliance are IBM WebSphere Application Server patterns. These patterns are pre-built, hardened configurations that are best practice representations of WebSphere middleware environments that are ready to be deployed to a private cloud. However, these shipped patterns will not meet the needs of every deployment. For that reason the WebSphere CloudBurst Appliance provides pattern customization capabilities that enable you to produce your own highly customized WebSphere middleware environments. Part 2 of this article series discusses how WebSphere CloudBurst lets you build custom WebSphere Application Server patterns that represent your unique topologies and configurations.
View entire articleElectricity is invisible. To understand how people use it, you need to make it visible. This tutorial will show you how easy it is to build a Web-based energy monitoring system yourself, using a Current Cost real-time energy monitor and AMEE, a neutral Web-based API for energy data, combined with some XML, Ruby, Rails, and Ajax.
View entire articleTen years of developerWorks has created a vast amount of material. It's interesting to pore back through the technology that we've explored and see how much things have changed. I'll be looking at our colorful past along with what was going on in our popular culture at the time to get a sense of perspective. Join the ride.
View entire articleRepresentational state transfer (REST) was introduced in early 2000 by Roy Fielding's doctoral dissertation. However, in the Java community, it was not standardized until JSR 311(JAX-RS) was finalized in 2008. The first release of its reference implementation is even later. In this article, I introduce Jersey, which is the reference implementation of JSR 311, by describing its essential APIs and annotations. I'll also show you how you can smoothly transfer from servlet-style services to RESTful services by integrating Jersey into Apache Tomcat.
View entire articleThe IBM WebSphere Application Server Feature Pack for Web 2.0 provides a rich set of components that enable developers to easily and more efficiently build powerful Ajax-based applications. This article explains how you can build a Web application that features dynamic charts using the Feature Pack for Web 2.0. You will also see how you can combine major Web 2.0 facilities (like Dojo, Web remoting, Web messaging, JSON4J, and so on) to create a solution with a rich user experience, as well as how to integrate existing back-end services into the Ajax-style architecture.
View entire articleThe Zend Framework contains several classes that make using cloud-based storage services easy. This article illustrates how to use those classes with Amazon's S3 cloud storage service.
View entire articleQuercus is a new approach to authoring Web services and applications using a mixture of Java and PHP. With the Quercus framework, Java and PHP are integrated with each other, thus allowing you to conveniently incorporate versatile Java libraries like Spring and Hibernate into applications. This article provides a brief introduction of the framework along with some code samples. Explore the features and advantages of the framework using a simple HelloWorld sample. And finally, understand the framework architecture and look at a real world example in more detail.
View entire articleThe new range of advanced user interface (UI) applications requires some aspect of the "server-push" feature so clients can be notified immediately of any server-side changes. Unfortunately, the HTTP spec does not address the issue of any server-side initiated communication, so the server-push has traditionally been implemented through client-side polling. This technique tends to generate a lot of unnecessary traffic and non-optimized applications. Thankfully, certain Rich Internet Application (RIA) technologies do allow the opening of a dedicated socket channel, with the back-end server providing an opportunity for Asynchronous JavaScript and XML (Ajax) applications to piggyback on their APIs and implement a server push. This article explores this technique in a variety of ways, and helps you understand it well enough to begin your own implementation.
View entire articleUse an Adobe Flex-based juxtaposition table, a two-dimensional visualization assistant, to arrange, classify, and compare potentially large quantities of data. With the juxtaposition table, you can define your own custom perspectives in a convenient and compact view. This article demonstrates how to dynamically create the table's columns and alter the table's contents. You will also learn how to display numerous items in a single cell and how to give cells their shape and color.
View entire articleIn this Mastering Grails installment, Scott Davis shows you how to create your own Grails plug-in. Once you see how effortless it is to create a plug-in, you'll understand why more than 250 Grails plug-ins are available now, with new ones being added all the time.
View entire articleIn this first half of a two-part article focusing on memcached and Grails, author James Goodwill introduces you to the open source caching solution memcached. Topics covered in this article include installation, configuration, memcached client commands, and evaluating the effectiveness of your cache. Unlike articles about using memcached with a language-specific client, this one focuses on direct interaction with the memcached server. The goal is to give you the tools you need to monitor your instance of memcached as well as to prepare you for the second half of the article, in which you will integrate memcached into a Grails application.
View entire articleIBM InfoSphere Business Glossary enables users to create, manage, and share an enterprise vocabulary and classification system. In version 8.1.1, the Business Glossary team introduced a REST API that makes glossary content easier to consume by enabling the development of custom applications based on particular needs. This article provides step-by-step instructions on how to develop a portable, dynamic read-write widget that uses the IBM InfoSphere Business Glossary REST API in conjunction with various Web 2.0 technologies. The widget enables users to find terms, examine the term's details, and make basic edits. Our goal is for InfoSphere Business Glossary customers to use the knowledge gained through building this sample widget as inspiration for using the REST API to create their own custom applications. This article is intended for software engineers who are familiar with Web 2.0 technologies and product designers who can apply the tools provided here to real world situations.
View entire articleTechnorati is a blog cataloging service that enables users to search virtually the entire blogosphere for articles of interest. Like most entries in the Web 2.0 domain, Technorati provides an API to automate much of its functionality. Also like most entries in the Web 2.0 domain, that API is provided as a REST service. In this article, work with examples and learn to get the most out of the Technorati API.
View entire articleGlobalization has had an enormous impact on our lives and cultures. As a result, translation is becoming an increasingly important tool to enhance understanding between cultures. Organizations try to use Web technologies with different languages, scripts, and cultures, and developers search for new technologies that will help them create efficient applications as quickly as possible. Fortunately, JavaServer Faces (JSF) simplifies life for application developers, making it possible for them to focus on the view without needing to know the underlying markup or scripts. ICEfaces, an integrated Asynchronous JavaScript and XML (Ajax) application framework, enables Java Platform, Enterprise Edition (Java EE) application developers to easily create and deploy thin-client, rich Internet applications in pure Java code. This tutorial describes how to develop Web applications using JSF with the translation option.
View entire articleAs you create cross-platform desktop applications using XUL, you also can enhance your skills with JavaScript, CSS, and even HTML. XUL's cross-platform capabilities are not a collection of least common denominator features. Instead, XUL gives you the kind of power that you might expect from a desktop application toolkit, including access to native threads. You can even access native threads directly from JavaScript, writing code that executes in parallel. In this article, you will examine the multithreading capabilities of XUL, and create an application that uses multiple threads to retrieve data. You will take a classic IO-bound application, one that accesses multiple remote data sources over the Internet, and speed it up through multiple threads in XUL. The application will allow users to view and compare anonymous results of three popular search engines: Google, Yahoo, and Bing from Microsoft(R).
View entire articleGoogle Web Toolkit (GWT) lets you use the Java language to implement rich client user interfaces that run in a browser. In this two-part article, David Geary brings you up to speed on the latest version of GWT and shows you how to implement a desktop-like Web application.
View entire articleWeb 2.0 tools are increasing the possibilities for online collaboration, both in the business world and in people's personal lives. This increased usage of collaboration tools equates to increased risks if applications are not protected against vulnerabilities. Part of that protection comes from good design and coding techniques that protect against attacks. The other half of the equation is the contract or Service-Level Agreement (SLA) that the user has with the service provider. In this article I'll examine some of the known vulnerabilities and show you how you, as a developer and a user, can protect yourself.
View entire articleAccessibility has become a hot topic as increased awareness and growing requirements demand that applications take into account the needs of all potential users. Accessibility covers not only the Web application, but document, desktop application and hardware, and so on. In the Web application domain, making static Web pages accessible is relatively easy. But for Web 2.0 technology, dynamic content and fancy visual effects can make accessibility testing very difficult. This article introduces the WAI-ARIA standard, which is designed to make future Asynchronous JavaScript and XML (Ajax) widgets accessible. The article also covers accessibility principles in Web 2.0 design and provides several code samples to get you started.
View entire articleWriting GUIs in program code can often lead to messy design choices, which in turn results in a blurring between business logic and UI code. Discover how to create a declarative XML UI tag set with an accompanying Java(TM) framework that parses, validates, constructs, and finally binds the declared GUI components to business logic at runtime.
View entire articleYou can probably think of many scenarios in which you might want to reuse existing SOAP Web services in new applications. The IBM WebSphere sMash REST to SOAP extension enables you to provide REST access to existing SOAP Web services, providing easier and more intuitive access to such functions. This tutorial demonstrates how you can use the WebSphere sMash REST to SOAP extension to leverage a SOAP Web service deployed on IBM WebSphere Application Server. The SOAP Web service will serve to provide data for a Dojo-based widget provided by WebSphere sMash.
View entire articleGMaps4JSF, a JavaServer Faces (JSF) mashup library, integrates Google Maps with JSF. Using GMaps4JSF, you can construct complex street view panoramas and maps with just a few JSF tags. You can also easily attach different components to the map. This article explains how to configure GMaps4JSF inside JSF 2.0 applications, and includes a brief introduction to JSF 2.0 Ajax. Using the article, learn how you can create a simple mashup application that uses both GMaps4JSF and JSF 2.0 Asynchronous JavaScript and XML (Ajax).
View entire articleVersion control systems are a core component of most development projects, regardless of whether you're developing an application, a Web site, or an operating system. Most projects involve multiple developers, often working at widely separated physical locations. Distributed version control systems are nothing new, but the Git version control system provides unique support for collaboration and interaction among developers.
View entire articleMetasploit is a vulnerability scanning and exploit development tool that you can use to greatly enhance the security in your enterprise. Through the use of Metasploit, an organization can locate previously unknown weaknesses and begin addressing them.
View entire articleOpen source solutions and borrowed infrastructures are changing the character of Java development, letting you deliver better software quickly and at a low cost. Andrew Glover, coining the term Java development 2.0 to encapsulate the cumulative force of these phenomena, launches a new series on some of the relevant tools and technologies. This first installment heralds the arrival of Java development 2.0 and explains how you can bring its concepts to fruition quickly with Google's App Engine for Java.
View entire articleNeed a Web site? Don't have lots of money for development? Say no more. Drupal is an open source solution that runs everywhere. It has impressive features and its latest incarnation, Drupal V6, is a joy to use. Here's an introduction.
View entire articleIBM WebSphere sMash Developer Edition 1.1 (DE) provides a Web-based development environment called App Builder that allows you to develop Web applications. Learn how to use this tool to create a simple online RSVP application that provides Atom feeds.
View entire article