Saturday, November 26, 2005

Today's Paper: Service-Oriented Network Sockets

Abstraction is good thing if it is done in an appropriate way. If the world shifted to service-orientation, its details should be transparent, that is, abstracted. A new programming model is an easy way to do so, but there is a challenging way to archieve it within a network layer. Umar Saif et al. give us a good introduction to thread a thorny path to heaven.

Umar Saif and Justin Mazzola Paluska, Service-Oriented Network Sockets, In Proc. of MobiSys'03. [link(Abstract/PDF/HTML)]

Service-Oriented Network Sockets

This paper presents the design and implementation of service-oriented network sockets (SoNS) for accessing services in a dynamically changing networked environment. A service-oriented network socket takes a high-level description of a service and opportunistically connects to the best provider of that service in the changing characteristics of a mobile system. An application states its high-level service requirements as a set of constraints on the properties required in a suitable resource and SoNS continuously monitors, evaluates and compares the available resources and (re-)connects to the resource that best satisfies the specified constraints.

Unlike content-based routing systems, SoNS is an end-host system, interposed at the session-binding layer, and offers connection-oriented semantics. SoNSユ interface allows an application to tailor the planning policy used to establish and rebind a network session. SoNS is based on an extensible architecture to leverage the wide-range of emerging technologies for discovering and locating resources in a mobile system.

SoNS integrates a service-oriented abstraction with the traditional operating system interface for accessing network services, making it simpler to develop pervasive, mobile applications. We present an implementation for a mobile handheld device, analyze the performance of our system and describe an application to demonstrate the utility of our system.

Saturday, November 19, 2005

Today's Book: Capacity Planning for Web Performance: Metrics, Models, and Methods

Capacity planning explained well. Capacity Planning for Web Performance can show you the techniques for estimating and planning effectively for your Web site's workload, both for today and tomorrow.

Capacity Planning for Web Performance: Metrics, Models, and Methods, by Daniel Menasce, Virgilio A. F. Almeida, Prentice Hall, May, 1998.

Friday, November 18, 2005

Today's Book: The Enterprise Unified Process

Today's development organizations need to extend RUP to cover the entire IT lifecycle, including the cross-project and enterprise issues it largely ignores. The Enterprise Unified Process (EUP) does that.

Ajax for Mobile

Opera Software released a new SDK for Web applications on mobile phones, which allows developers to create platofrom independent applications using Ajax.
This can be possible because they support well known Web technologies such as HTML, CSS and JavaScript, including XMLHttpRequest. "With Opera Platform we are now building the foundation for the next generation of mobile services by enabling the easy, fast and cost- effective creation of compelling Web based mobile applications," says Timo Bruns, Opera Software VP.

With an appropriate accounting model, it would "happen".

Today's Paper: Model-Driven Performance Evaluation

Simonetta Blasamo, a professor of Computer Science at Università Ca' Foscari di Venezia, Italy, has been doing great work in the research area of software performance modeling.

His survey paper gives us a fairly good overview of what is going on in the area of model-driven perfromance evaluation.
  • Simonetta Balsamo, Antinisca Di Marco, Paola Inverardi, and Marta Simeoni, Model-Based Performance Prediction in Software Development: A Survey, IEEE Trans. Software Eng. 30(5): pp.295-310, 2004.
Electronic version is available from:

Model-Based Performance Prediction in Software Development: A Survey

Over the last decade, a lot of research has been directed toward integrating performance analysis into the software development process. Traditional software development methods focus on software correctness, introducing performance issues later in the development process. This approach does not take into account the fact that performance problems may require considerable changes in design, for example, at the software architecture level, or even worse at the requirement analysis level. Several approaches were proposed in order to address early software performance analysis. Although some of them have been successfully applied, we are still far from seeing performance analysis integrated into ordinary software development. In this paper, we present a comprehensive review of recent research in the field of model-based performance prediction at software development time in order to assess the maturity of the field and point out promising research directions.

Wednesday, November 16, 2005

Today's Paper: Using XForms to Simplify Web Programming

An XForms-based programming model for web applications, HopiXForms (HX), is presented.
It allows multi-targetting of applications.
An XForms processor is essentially a virtual machine that interprets a well-defined, declarative specification language for forms.

Richard Cardone, Danny Soroker, Alpana Tiwari, Using XForms to Simplify Web Programming, In Proc. of WWW 2005, Chiba, Japan, May10-14, 2005.

A pdf file is available from:

Using XForms to Simplify Web Programming
The difficulty of developing and deploying commercial web
applications increases as the number of technologies they use
increases and as the interactions between these technologies
become more complex. This paper describes a way to avoid this
increasing complexity by re-examining the basic requirements of
web applications. Our approach is to first separate client concerns
from server concerns, and then to reduce the interaction between
client and server to its most elemental: parameter passing. We
define a simplified programming model for form-based web
applications and we use XForms and a subset of J2EE as enabling
technologies. We describe our implementation of an MVC-based
application builder for this model, which automatically generates
the code needed to marshal input and output data between clients
and servers. This marshalling uses type checking and other forms
of validation on both clients and servers. We also show how our
programming model and application builder support the
customization of web applications for different execution targets,
including, for example, different client devices.

"Web-Serviced" Lotus Notes

I am using Lotus Notes in my office. Though it is very useful, especially with its rich UI and replication facility, it is sometimes not easy for me to reuse existing information or functionality in Lotus Notes DBs. Lotus Domino's rich functionality in customizing servers may allow to do this, it is better to support Web Service, that is, providing services with published WSDL and using standard protocols like SOAP/HTTP.

Is there any way to do this? The new version of Lotus Notes/Domino may be a solution.

Some Research Perspectives on Ajax

Despite Ajax is cool, it is often said that it is not about technologies but just about techniques.
Then, are there any research oppotunities on this topic?

A good platform for a rich client.
  • In this sense, Ajax is important only because it is based on standards. Usually, nothing is required for client node configuration.
  • Problem here is that it has several restrictions for building rich GUI, such as, the "back button" problem. Employing a better client environment, which is not a standard, instead of Ajax doesn't make sense from this viewpoint. For example, proposing better GUI with Macromedia Flash is not so good way as a research direction. Proposing better standards for better GUI (based of studies on what is desired, which is not available with the current standards) makes some sense, though.
A target of GUI-enabled software development.
  • In this sense, Ajax is yet another target platform in developing application software.
  • Research direction arized here is the unification of development efforts for other possible GUI platforms, that are, AWT/SWT for example. For example, the goal "write once to run on both Eclipse and Ajax" is not bad.
A good GUI with dynamic interactions between human and network.
  • In this sense, applications with Ajax often provides good user experience. I believe it mostly comes from the asynchronousness thanks to XMLHttpRequest. Though it must have been possible with conventional fat clients, they have rarely done maybe because of some difficulty in use of Web Services (REST, SOAP, whatever) with clients (not servers).
  • There may be rooms for investigating potential GUI enhancements in this area.

Tuesday, November 15, 2005

Today's Paper: Chikenfoot - Ajax-based Webapp programming system by Michael Zolin, et al.

An excellent paper (in fact, a best-paper-awarded paper) describing technologies (a Web application development tool) with Ajax-like techniques.

Michael Bolin, Matthew Webber, Philip Rha, Tom Wilson, Robert Miller, Automation and Customization of Rendered Web Pages, In Proc. of UIST 2005, Seattle, WA, USA, Oct 23-26, 2005.

A pdf file available from:

Automation and Customization of Rendered Web Pages
On the desktop, an application can expect to control its user
interface down to the last pixel, but on the World Wide
Web, a content provider has no control over how the client
will view the page, once delivered to the browser. This creates
an opportunity for end-users who want to automate and
customize their web experiences, but the growing complexity
of web pages and standards prevents most users from
realizing this opportunity. We describe Chickenfoot, a programming
system embedded in the Firefox web browser,
which enables end-users to automate, customize, and integrate
web applications without examining their source code.
One way Chickenfoot addresses this goal is a novel technique
for identifying page components by keyword pattern
matching. We motivate this technique by studying how
users name web page components, and present a heuristic
keyword matching algorithm that identifies the desired
component from the user’s name.

Saturday, November 05, 2005

Today's Book: The Rational Unified Process: An Introduction, Third Edition

The Rational Unified Process unifies the entire software development team and optimizes the productivity of every team member by putting the collective experience derived from thousands of projects and many industry leaders at your fingertips. Philippe Kruchten's concise book offers a quick introduction to the concepts, structure, content, and motivation of the Rational Unified Process—a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. The Rational Unified Process is unique in that it allows development teams to recognize the full benefits of the Unified Modeling Language (UML), software automation, and other industry best practices.

Wednesday, November 02, 2005

Requirements for shifts to SOA

Supporting the smooth shift from legacy components to SOA-enabled (Service Oriented Architecture) ones in enterprise architecture is a key requirement for wide-SOA adoption. An SOA structures large applications into reusable building blocks called “services” that respond rapidly to changing business conditions. For an enterprise, in order benefiting from SOA, they first need to transform their enterprise architecture so that it is at least partially SOA-enabled. However, it is often the case with enterprise that they also hate to dispose their current IT systems so drastically. In such situation, reusing legacy components rather than re-implementing them from scratch for provided SOA-enabled components is a preferred approach to SOA adoption for an enterprise in the real world.

Tuesday, November 01, 2005

Papers on Enterprise Server Performance Testing

I have just searched a bit for papers on performance testing that is specialized for enterprise servers.

Elaine J. Weyuker (DBLP) and her colleagues have done extensive work in this area.

Selected papers are listed below: